﻿Imports ControleMatricula.Negocio.Classes
Imports ControleMatricula.Negocio
Imports Microsoft.Reporting.WinForms

Public Class FrmRelDistribuicao

    Private Sub FrmRelDistribuicao_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        MontarComboEspecifica(cmbEspecifica)
        cmbEspecifica.SelectedIndex = -1
    End Sub

    Private Sub btnConfirma_Click(sender As Object, e As System.EventArgs) Handles btnConfirma.Click

        Dim aluno As New Aluno

        aluno.STAtivo = 1

        Dim lista = NAluno.ConsultarLista(aluno)

        Dim dsAlunosDist As DataSet

        'dsAlunosDist = lista.Select(Function(c) c.NomeEscola).Select(Function (d) New Aluno(d)

        Dim qtdTerceiroAno As Integer
        Dim qtdDiantosCOC As Integer
        Dim qtdColegioMilitar As Integer
        Dim qtdLaSalle As Integer
        Dim qtdLeonardo As Integer
        Dim qtdMarista As Integer
        Dim qtdSigma As Integer
        Dim qtdOutros As Integer
        Dim qtdCursinhos As Integer
        Dim qtdMax2Semestre As Integer
        Dim qtdMin2Semestre As Integer

        qtdTerceiroAno = lista.Where(Function(c) c.STCOC = True).Count()
        qtdDiantosCOC = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 1).Count()
        qtdColegioMilitar = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 2).Count()
        qtdLaSalle = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 3).Count()
        qtdLeonardo = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 4).Count()
        qtdMarista = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 5).Count()
        qtdSigma = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 6).Count()
        qtdOutros = lista.Where(Function(c) c.STCOC = True And c.TPCurso = 7).Count()
        qtdCursinhos = lista.Where(Function(c) c.STCOC = False).Count()
        qtdMax2Semestre = lista.Where(Function(c) c.STCOC = False And c.NomeEscola <= "2").Count()
        qtdMin2Semestre = lista.Where(Function(c) c.STCOC = False And c.NomeEscola >= "2").Count()

        Dim tblDistribuicao As DataTable
        tblDistribuicao = New DataTable("Distribuicao")

        tblDistribuicao.Columns.Add("qtdTerceiroAno")
        tblDistribuicao.Columns.Add("qtdDiantosCOC")
        tblDistribuicao.Columns.Add("qtdColegioMilitar")
        tblDistribuicao.Columns.Add("qtdLaSalle")
        tblDistribuicao.Columns.Add("qtdLeonardo")
        tblDistribuicao.Columns.Add("qtdMarista")
        tblDistribuicao.Columns.Add("qtdSigma")
        tblDistribuicao.Columns.Add("qtdOutros")
        tblDistribuicao.Columns.Add("qtdCursinhos")
        tblDistribuicao.Columns.Add("qtdMax2Semestre")
        tblDistribuicao.Columns.Add("qtdMin2Semestre")

        Dim distribuicao As DataRow = tblDistribuicao.NewRow()

        distribuicao("qtdTerceiroAno") = qtdTerceiroAno
        distribuicao("qtdDiantosCOC") = qtdDiantosCOC
        distribuicao("qtdColegioMilitar") = qtdColegioMilitar
        distribuicao("qtdLaSalle") = qtdLaSalle
        distribuicao("qtdLeonardo") = qtdLeonardo
        distribuicao("qtdMarista") = qtdMarista
        distribuicao("qtdSigma") = qtdSigma
        distribuicao("qtdOutros") = qtdOutros
        distribuicao("qtdCursinhos") = qtdCursinhos
        distribuicao("qtdMax2Semestre") = qtdMax2Semestre
        distribuicao("qtdMin2Semestre") = qtdMin2Semestre

        tblDistribuicao.Rows.Add(distribuicao)
        tblDistribuicao.AcceptChanges()

        Dim dtSource = New ReportDataSource("DSRelDistribuicao", tblDistribuicao)

        Dim rpvDistribuicao = RelDistribuicao.rpvDistribuicao

        rpvDistribuicao.LocalReport.ReportPath = "Relatorios\Distribuicao.rdlc"
        rpvDistribuicao.LocalReport.DataSources.Clear()
        rpvDistribuicao.LocalReport.DataSources.Add(dtSource)
        rpvDistribuicao.Visible = True

        RelDistribuicao.Show()

    End Sub
End Class